package graph;

import java.awt.GridLayout;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

/***********************
 * 
 * @author Robin
 * 
 * Cette classe gere le panel des tableurs qui apparaissent a gauche dans la fenetre.
 */
public class PanelTableur extends JPanel
{
	private static final long serialVersionUID = 1L;
	// Plusieurs tableurs repertories sous plusieurs onglets
	private JTabbedPane barOnglets = new JTabbedPane();
	private int nbOnglets;
	
	public PanelTableur() 
	{
		nbOnglets = 1;
		for(int i = 0 ; i < nbOnglets ; i++) 
			barOnglets.addTab(("Document " + (i+1)), new Tableur());
		
		this.add(barOnglets);
		this.setLayout(new GridLayout());
	}
	
	/************
	 * Ajout d'un onglet
	 */
	public void addOnglet()
	{
		nbOnglets++;
		barOnglets.addTab(("Document " + nbOnglets), new Tableur());
		barOnglets.setSelectedIndex(nbOnglets-1);
	}
	
	/************
	 * Suppression d'un onglet
	 */
	public void supprimerTab()
	{
		if(barOnglets.getTabCount() > 1){ barOnglets.remove(barOnglets.getSelectedIndex()); nbOnglets--; }
		else JOptionPane.showMessageDialog(this, "Deux feuilles au minimum sont n�cessaires pour en supprimer une.");
	}

	/********
	 * Fonction qui retourne un tableur en fonction de l'id de l'onglet actuel
	 * @param i id de l'onglet
	 * @return le tableur correspondant
	 */
	public Tableur getTableur(int i)
	{
		return (Tableur) barOnglets.getComponent(i);
	}
	
	public JTabbedPane getBarOnglets()
	{
		return barOnglets;
	}
}
